﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum СтатусыЗаявленияАбонентаСпецоператораСвязи
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"f571da57-4e78-493f-801a-6f48178a9861\", \"Представление\":\"Подготовлено\"}")]
		Подготовлено = 0,
		[EnumMember(Value = "{\"Ссылка\":\"82c6043e-d9dc-46e6-98d6-91dedc1997bd\", \"Представление\":\"Отправлено\"}")]
		Отправлено = 1,
		[EnumMember(Value = "{\"Ссылка\":\"d2b8da38-e2a9-4e25-8409-59aa2735c932\", \"Представление\":\"Одобрено\"}")]
		Одобрено = 2,
		[EnumMember(Value = "{\"Ссылка\":\"99e5e952-eabc-4ce6-ac43-dbf0edcb63e9\", \"Представление\":\"Отклонено\"}")]
		Отклонено = 3,
	}
	public static partial class СтатусыЗаявленияАбонентаСпецоператораСвязи_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Подготовлено = new Guid("486f1a80-8a17-6198-493f-4e78f571da57");
		public static readonly Guid Отправлено = new Guid("de91d698-19dc-bd97-46e6-d9dc82c6043e");
		public static readonly Guid Одобрено = new Guid("aa590984-3527-32c9-4e25-e2a9d2b8da38");
		public static readonly Guid Отклонено = new Guid("f0db43ac-cbed-e963-4ce6-eabc99e5e952");
		public static СтатусыЗаявленияАбонентаСпецоператораСвязи Получить(this СтатусыЗаявленияАбонентаСпецоператораСвязи Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СтатусыЗаявленияАбонентаСпецоператораСвязи Получить(this СтатусыЗаявленияАбонентаСпецоператораСвязи Значение, Guid Ссылка)
		{
			if(Ссылка == Подготовлено)
			{
				return СтатусыЗаявленияАбонентаСпецоператораСвязи.Подготовлено;
			}
			else if(Ссылка == Отправлено)
			{
				return СтатусыЗаявленияАбонентаСпецоператораСвязи.Отправлено;
			}
			else if(Ссылка == Одобрено)
			{
				return СтатусыЗаявленияАбонентаСпецоператораСвязи.Одобрено;
			}
			else if(Ссылка == Отклонено)
			{
				return СтатусыЗаявленияАбонентаСпецоператораСвязи.Отклонено;
			}
			return СтатусыЗаявленияАбонентаСпецоператораСвязи.ПустаяСсылка;
		}
		public static byte[] Ключ(this СтатусыЗаявленияАбонентаСпецоператораСвязи Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СтатусыЗаявленияАбонентаСпецоператораСвязи Значение)
		{
			switch (Значение)
			{
				case СтатусыЗаявленияАбонентаСпецоператораСвязи.Подготовлено: return Подготовлено;
				case СтатусыЗаявленияАбонентаСпецоператораСвязи.Отправлено: return Отправлено;
				case СтатусыЗаявленияАбонентаСпецоператораСвязи.Одобрено: return Одобрено;
				case СтатусыЗаявленияАбонентаСпецоператораСвязи.Отклонено: return Отклонено;
			}
			return Guid.Empty;
		}
	}
}